
package net.ieslaferreria.infoCiutat;

import java.util.Vector;

/*
 * NAME:       XarxaManager  
 *
 * REVISIONS:
 * Ver        Date               Author           Description
 * ---------  -----------------  ---------------  ------------------------------
 * 1.0        14/05/2008 17:29   Javi	          Creación de la interface.
 * 1.1        15/05/2008 17:39   Javi             Añadidos comentarios del 
 *                                                programador.
 * 1.2        21/05/2008 22:41   Alex             Añadidos nuevos metodos 
 *                                                necesarios para las distintas
 *                                                busquedas de Gestor.  			  	             
 *
 * 
 */

public interface PuntManager {

    public void afegirPunts(Vector v);
    public void afegirPuntsInteres(Vector v);
    /**
     * Obté una llista de noms de contactes
     * @return Vector d'String
     */
    public Vector getLlistaNomsContactes();
    
    /**
     *  Retorna una cadena d'enters que representen els contactes 
     * @param cadena
     * @return Vector d'enters
     */
    public Vector cercaContacte(String cadena);
    
    /**
     * Retorna un Punt d'Interés  a partir d'un codi de contacte
     * @param codi
     * @return PuntInteres
     */
    public PuntInteres getContacte(int codi);
    
    /**
     * Retorna una llista de punts d'interés
     * @return Vector d'strings
     */
    public Vector getLlistaPuntInteres();
    
    /**
     * Retorna els codis que correponen als possibles punts d'interés que
     * coincideixen amb aquesta cadena.
     * @param cadena
     * @return Vector d'enters
     */
    public Vector cercaPuntInteres(String cadena);
    
    /**
     * Obtè un punt d'interés a través del seu codi
     * @param codi
     * @return Punt Interès
     */
    public PuntInteres getPuntInteres(int codi);
    
    /**
     * Obtè una llista de punts
     * @return Vector d'Strings
     */
    public Vector getLlistaPunts();
    
    /**
     * Retorna els codis que corresponen als possibles punts que
     * coincideixen amb aquesta cadena.
     * @param cadena
     * @return Vector d'enters
     */
    public Vector cercaPunt(String cadena);
    
    /**
     * Obtè un punt a través del seu codi
     * @param codi
     * @return Punt
     */
    public Punt getPunt(int codi);

    /**
     * Obtè un punt d'interés a través del seu nom.
     * 
     * @param nomPuntInteres
     */
    public PuntInteres getPuntInteres(String nomPuntInteres);
    
    /**
     * Retorna el punt on viu el contacte amb el nom especificat per parametre.
     * 
     * @param nomContacte
     * @return PuntInteres
     */
    public PuntInteres getContacte(String nomContacte);
    
    /**
     * Retorna el punt d'intersecció entre dos carrers dels quals passem
     * per parametres els seus noms.
     * 
     * @param nomCarrer
     * @param nomCarrer2
     * @return Punt
     */
    public Punt getCruilla(String nomCarrer, String nomCarrer2);
    
}
